/*
 * Copyright (c) 2002-2004, xRhino, Inc.
 *
 * This library is free software; you can redistribute and/or modify
 * it under the terms of the dual license distributed with this source
 * package (a combined Trolltech QPL/GPL-compatible license)
 *
 * Under this dual license scheme, a separate license is available for use of 
 * this code with a proprietary (closed) system. For more information on the 
 * license, please see the LICENSE file distributed with this source package.
 */
#ifndef SUGRECTELEMENT_H
#define SUGRECTELEMENT_H

#include "SugTypes.h"
#include "SugElement.h"

/**
 * The subclass of SugElement responsible for representing SVGRect.
 */
class SugRectElement: public SugElement
{
  protected:
   /**
    * The x location variable.
    */
    SugRealType mX;

   /**
    * The y location variable.
    */
   SugRealType mY;

   /**
    * The width variable.
    */
   SugRealType mWidth;

   /**
    * The height variable.
    */
   SugRealType mHeight;

   /**
    * The rx variable (from the SVG IDL).  Currently unused.
    */
   SugRealType mRx;

   /**
    * The ry variable (from the SVG IDL).  Currently unused.
    */
   SugRealType mRy;

  public:
   /**
    * Returns the x variable.
    */
    SugRealType getX();

   /**
    * Returns the y variable.
    */
   SugRealType getY();

   /**
    * Returns the width variable.
    */
   SugRealType getWidth();

   /**
    * Returns the height variable.
    */
   SugRealType getHeight();

   /**
    * Returns the rx variable, unused.
    */
   SugRealType getRx();

   /**
    * Returns the ry variable, unused.
    */
   SugRealType getRy();

   /**
    * Sets the x variable.
    */
   SugRealType setX(SugRealType newX);

   /**
    * Sets the y variable.
    */
   SugRealType setY(SugRealType newY);

   /**
    * Sets the width variable.
    */
   SugRealType setWidth(SugRealType newWidth);

   /**
    * Sets the height variable.
    */
   SugRealType setHeight(SugRealType newHeight);

   /**
    * Sets the rx variable, unused.
    */
   SugRealType setRx(SugRealType newRx);

   /**
    * Sets the ry variable, unused.
    */
   SugRealType setRy(SugRealType newRy);

   /**
    * The class constructor.
    */
   SugRectElement();

   /**
    * The class destructor.
    */
   ~SugRectElement();

};

#endif
